//package jp.sourceforge.talisman.mds.distance;
//
///*
// * $Id: SquaredEuclideanItemDistanceCalculatorTest.java,v 1.1 2009/09/12 05:06:09 weiwei Exp $
// */
//
//import jp.sourceforge.talisman.mds.Item;
//
//import org.junit.Assert;
//import org.junit.Before;
//import org.junit.Test;
//
///**
// * 
// * @author Haruaki Tamada
// * @version $Revision: 1.1 $ 
// */
//public class SquaredEuclideanItemDistanceCalculatorTest{
//    private ItemDistanceCalculator calculator;
//
//    @Before
//    public void setUp(){
//        calculator = new SquaredEuclideanItemDistanceCalculator();
//    }
//
//    @Test
//    public void testBasic(){
//        Assert.assertEquals(ItemDistanceAlgorithm.SQUARED_EUCLIDEAN_DISTANCE, calculator.getAlgorithm());
//
//        Assert.assertEquals(5d, calculator.calculate(new double[] { 4, 3, }, new double[] { 0, 0, }), 1E-6);
//
//        Assert.assertEquals(Math.sqrt(2), calculator.calculate(new double[] { 1, 1, }, new double[] { 0, 0, }), 1E-6);
//
//        Assert.assertEquals(2d, calculator.calculate(new double[] { 1, Math.sqrt(3), }, new double[] { 0, 0, }), 1E-6);
//    }
//
//    @Test
//    public void testCoordinates(){
//        Item c1 = new Item("x");
//        c1.add(3d); c1.add(4d);
//        Item c2 = new Item("y");
//        c2.add(0d); c2.add(0d);
//
//        Assert.assertEquals(5d, calculator.calculate(c1, c2), 1E-6);
//
//        c1.set(0, 1d); c1.set(1, 1d);
//        Assert.assertEquals(Math.sqrt(2), calculator.calculate(c1, c2), 1E-6);
//
//        c1.set(0, Math.sqrt(3)); c1.set(1, 1d);
//        Assert.assertEquals(2d, calculator.calculate(c1, c2), 1E-6);
//    }
//
//    @Test
//    public void testCoordinates3(){
//        Item c1 = new Item("x");
//        c1.add(3d); c1.add(4d); c1.add(5d);
//        Item c2 = new Item("y");
//        c2.add(0d); c2.add(0d); c2.add(0d);
//
//        Assert.assertEquals(5d, calculator.calculate(c1, c2, 2), 1E-6);
//
//        c1.set(0, 1d); c1.set(1, 1d); c1.set(2, 5d);
//        Assert.assertEquals(Math.sqrt(2), calculator.calculate(c1, c2, 2), 1E-6);
//
//        c1.set(0, Math.sqrt(3)); c1.set(1, 1d); c1.set(2, 3d);
//        Assert.assertEquals(2d, calculator.calculate(c1, c2, 2), 1E-6);
//    }
//
//    @Test
//    public void testCoordinatesLengthMismatch1(){
//        Item c1 = new Item("x");
//        c1.add(3d); c1.add(4d); c1.add(0d);
//        Item c2 = new Item("y");
//        c2.add(0d); c2.add(0d);
//
//        Assert.assertEquals(5d, calculator.calculate(c1, c2), 1E-6);
//
//        c1.set(0, 1d); c1.set(1, 1d);
//        Assert.assertEquals(Math.sqrt(2), calculator.calculate(c1, c2), 1E-6);
//
//        c1.set(0, Math.sqrt(3)); c1.set(1, 1d);
//        Assert.assertEquals(2d, calculator.calculate(c1, c2), 1E-6);
//    }
//
//    @Test
//    public void testCoordinatesLengthMismatch2(){
//        Item c1 = new Item("x");
//        c1.add(3d); c1.add(4d);
//        Item c2 = new Item("y");
//        c2.add(0d); c2.add(0d); c2.add(0d);
//
//        Assert.assertEquals(5d, calculator.calculate(c1, c2), 1E-6);
//
//        c1.set(0, 1d); c1.set(1, 1d);
//        Assert.assertEquals(Math.sqrt(2), calculator.calculate(c1, c2), 1E-6);
//
//        c1.set(0, Math.sqrt(3)); c1.set(1, 1d);
//        Assert.assertEquals(2d, calculator.calculate(c1, c2), 1E-6);
//    }
//
//    @Test(expected=IllegalArgumentException.class)
//    public void testIllegalArgument(){
//        calculator.calculate(new double[] { 0, }, new double[] { 1, 2, });
//    }
//
//    @Test(expected=NullPointerException.class)
//    public void testNullPointerException(){
//        calculator.calculate(new double[] { 0, }, null);
//    }
//}
